package com.ziyun.pop.modules.production.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.ziyun.pop.modules.order.entity.ProductInfoParam;
import com.ziyun.pop.modules.order.entity.UserAccessoryEntity;
import com.ziyun.pop.modules.order.entity.UserAccessoryVo;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * erp订单商品表
 * 
 * @author guizhao
 * @date 2018-08-22 14:44:58
 */
@TableName("erp_order_item")
public class ErpOrderItemEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 自增id
	 */
	@TableId(type = IdType.AUTO)
	private Long eoItemId;
	/**
	 * 订单号
	 */
	@ApiModelProperty(value ="订单号")
	private String orderNo;
	/**
	 * sku
	 */
	private Integer productId;
	/**
	 * spu
	 */
	private Integer goodsId;
	/**
	 * 明细商品的名称
	 */
	@ApiModelProperty(value ="商品名称")
	private String name;
	/**
	 * 明细商品的销售价(购入价)
	 */
	@ApiModelProperty(value ="商品单价")
	private BigDecimal price;
	/**
	 * 明细商品总额
	 */
	@ApiModelProperty(value ="商品总额")
	private BigDecimal amount;
	/**
	 * 分摊后价格
	 */
	private BigDecimal sharePrice;
	/**
	 * 明细商品重量
	 */
	private BigDecimal weight;
	/**
	 * 明细商品购买数量
	 */
	@ApiModelProperty(value ="商品数量")
	private BigDecimal nums;

	/**
	 * 份数
	 */
	@ApiModelProperty(value ="商品份数")
	private  BigDecimal copy;
	/**
	 * 商品单位
	 */
	@ApiModelProperty(value ="商品单位")
	private String unit;
	/**
	 * 明细商品的规格属性
	 */
	@ApiModelProperty(value =" 明细商品的规格属性")
	private String addon;


	/**

	 * 请求参数
	 */
	@ApiModelProperty(hidden = true)
	private String attributeOption;

	/**
	 * 报价自定义属性信息json
	 */
	@ApiModelProperty(hidden = true)
	private String quoteSelfDefineParam;

	/**
	 * 报价切法
	 */
	@ApiModelProperty(hidden = true)
	public  String cutModel;
	/**
	 * 明细商品类型 product:商品,pkg:捆绑商品,gift:赠品商品,adjunct:配件商品
	 */
	@ApiModelProperty(hidden = true)
	private String itemType;
	/**
	 * 工艺IDs
	 */
	@ApiModelProperty(hidden = true)
	private String craftsIds;
	/**
	 * 工艺名
	 */
	@ApiModelProperty(hidden = true)
	private String craftsNames;
	/**
	 * normal：普通商品print：印刷商品design_service：设计商品quote：报价商品paper：大纸商品fold：折页template：索样商品
	 */
	@ApiModelProperty(hidden = true)
	private String addcartBuyType;
	/**
	 * 明细附件对象
	 */
	@ApiModelProperty(hidden = true)
	private String itemTypeObj;
	/**
	 * 明细附件对象IDs
	 */
	@ApiModelProperty(hidden = true)
	private String itemTypeObjId;
	/**
	 * 大纸购买类型 ton:吨，ream:令
	 */
	private String paperUnit;
	/**
	 * 大纸购买规格：长，宽
	 */
	@ApiModelProperty(hidden = true)
	private String paperSize;
	/**
	 * 审核状态`
	 */
	private Integer status;
	/**
	 * 伪删除标记（0正常 1删除）
	 */
	@ApiModelProperty(hidden = true)
	private Integer itemDel;

	/***
	 * 商品明细备注
	 */
	private String itemRemark;
	/**
	 * 关联商品ID
	 */
	@TableField(exist = false)
	private Integer origItemId;
	/**
	 * 报价订单算价过程
	 */
	private String calculationPriceProcess;
	/**
	 * 原始商品id
	 */
	private Integer originalItemId;
	/**
	 * 发货图片
	 */
	private String sendPics;

	/**
	 * 设置：自增id
	 */
	public void setEoItemId(Long eoItemId) {
		this.eoItemId = eoItemId;
	}
	/**
	 * 获取：自增id
	 */
	public Long getEoItemId() {
		return eoItemId;
	}
	/**
	 * 设置：订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	/**
	 * 获取：订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
	/**
	 * 设置：sku
	 */
	public void setProductId(Integer productId) {
		this.productId = productId;
	}
	/**
	 * 获取：sku
	 */
	public Integer getProductId() {
		return productId;
	}
	/**
	 * 设置：明细商品的名称
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * 获取：明细商品的名称
	 */
	public String getName() {
		return name;
	}
	/**
	 * 设置：明细商品的销售价(购入价)
	 */
	public void setPrice(BigDecimal price) {
		this.price = price;
	}
	/**
	 * 获取：明细商品的销售价(购入价)
	 */
	public BigDecimal getPrice() {
		return price;
	}
	/**
	 * 设置：明细商品总额
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}
	/**
	 * 获取：明细商品总额
	 */
	public BigDecimal getAmount() {
		return amount;
	}
	/**
	 * 设置：分摊后价格
	 */
	public void setSharePrice(BigDecimal sharePrice) {
		this.sharePrice = sharePrice;
	}
	/**
	 * 获取：分摊后价格
	 */
	public BigDecimal getSharePrice() {
		return sharePrice;
	}
	/**
	 * 设置：明细商品重量
	 */
	public void setWeight(BigDecimal weight) {
		this.weight = weight;
	}
	/**
	 * 获取：明细商品重量
	 */
	public BigDecimal getWeight() {
		return weight;
	}
	/**
	 * 设置：明细商品购买数量
	 */
	public void setNums(BigDecimal nums) {
		this.nums = nums;
	}
	/**
	 * 获取：明细商品购买数量
	 */
	public BigDecimal getNums() {
		return nums;
	}
	/**
	 * 设置：商品单位
	 */
	public void setUnit(String unit) {
		this.unit = unit;
	}
	/**
	 * 获取：商品单位
	 */
	public String getUnit() {
		return unit;
	}
	/**
	 * 设置：明细商品的规格属性
	 */
	public void setAddon(String addon) {
		this.addon = addon;
	}
	/**
	 * 获取：明细商品的规格属性
	 */
	public String getAddon() {
		return addon;
	}
	/**
	 * 设置：明细商品类型 product:商品,pkg:捆绑商品,gift:赠品商品,adjunct:配件商品
	 */
	public void setItemType(String itemType) {
		this.itemType = itemType;
	}
	/**
	 * 获取：明细商品类型 product:商品,pkg:捆绑商品,gift:赠品商品,adjunct:配件商品
	 */
	public String getItemType() {
		return itemType;
	}
	/**
	 * 设置：工艺IDs
	 */
	public void setCraftsIds(String craftsIds) {
		this.craftsIds = craftsIds;
	}
	/**
	 * 获取：工艺IDs
	 */
	public String getCraftsIds() {
		return craftsIds;
	}
	/**
	 * 设置：工艺名
	 */
	public void setCraftsNames(String craftsNames) {
		this.craftsNames = craftsNames;
	}
	/**
	 * 获取：工艺名
	 */
	public String getCraftsNames() {
		return craftsNames;
	}
	/**
	 * 设置：normal：普通商品print：印刷商品design_service：设计商品quote：报价商品paper：大纸商品fold：折页template：索样商品
	 */
	public void setAddcartBuyType(String addcartBuyType) {
		this.addcartBuyType = addcartBuyType;
	}
	/**
	 * 获取：normal：普通商品print：印刷商品design_service：设计商品quote：报价商品paper：大纸商品fold：折页template：索样商品
	 */
	public String getAddcartBuyType() {
		return addcartBuyType;
	}
	/**
	 * 设置：明细附件对象
	 */
	public void setItemTypeObj(String itemTypeObj) {
		this.itemTypeObj = itemTypeObj;
	}
	/**
	 * 获取：明细附件对象
	 */
	public String getItemTypeObj() {
		return itemTypeObj;
	}
	/**
	 * 设置：明细附件对象IDs
	 */
	public void setItemTypeObjId(String itemTypeObjId) {
		this.itemTypeObjId = itemTypeObjId;
	}
	/**
	 * 获取：明细附件对象IDs
	 */
	public String getItemTypeObjId() {
		return itemTypeObjId;
	}
	/**
	 * 设置：大纸购买类型 ton:吨，ream:令
	 */
	public void setPaperUnit(String paperUnit) {
		this.paperUnit = paperUnit;
	}
	/**
	 * 获取：大纸购买类型 ton:吨，ream:令
	 */
	public String getPaperUnit() {
		return paperUnit;
	}
	/**
	 * 设置：大纸购买规格：长，宽
	 */
	public void setPaperSize(String paperSize) {
		this.paperSize = paperSize;
	}
	/**
	 * 获取：大纸购买规格：长，宽
	 */
	public String getPaperSize() {
		return paperSize;
	}
	/**
	 * 获取：审核状态
	 * @return
	 */
	public Integer getStatus() {
		return status;
	}

	/**
	 * 设置：审核状态
	 * @param status
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}

	/**
	 * 设置：伪删除标记（0正常 1删除）
	 */
	public void setItemDel(Integer itemDel) {
		this.itemDel = itemDel;
	}
	/**
	 * 获取：伪删除标记（0正常 1删除）
	 */
	public Integer getItemDel() {
		return itemDel;
	}
	/**
	 * 设置：关联商品ID
	 */
	public void setOrigItemId(Integer origItemId) {
		this.origItemId = origItemId;
	}
	/**
	 * 获取：关联商品ID
	 */
	public Integer getOrigItemId() {
		return origItemId;
	}
	/**
	 * 设置：报价订单算价过程
	 */
	public void setCalculationPriceProcess(String calculationPriceProcess) {
		this.calculationPriceProcess = calculationPriceProcess;
	}
	/**
	 * 获取：报价订单算价过程
	 */
	public String getCalculationPriceProcess() {
		return calculationPriceProcess;
	}
	/**
	 * 设置：原始商品id
	 */
	public void setOriginalItemId(Integer originalItemId) {
		this.originalItemId = originalItemId;
	}
	/**
	 * 获取：原始商品id
	 */
	public Integer getOriginalItemId() {
		return originalItemId;
	}
	/**
	 * 获取：spu
	 * @return
	 */
	public Integer getGoodsId() {
		return goodsId;
	}
	/**
	 * 设置：spu
	 * @param goodsId
	 */
	public void setGoodsId(Integer goodsId) {
		this.goodsId = goodsId;
	}

	/**
	 * 获取：发货图片
	 * @return
	 */
	public String getSendPics() {
		return sendPics;
	}
	/**
	 * 设置：发货图片
	 * @param sendPics
	 */
	public void setSendPics(String sendPics) {
		this.sendPics = sendPics;
	}

	/**
	 * 获取：份数
	 * @return
	 */
	public BigDecimal getCopy() {
		return copy;
	}
	/**
	 * 设置：设置份数
	 * @param
	 */
	public void setCopy(BigDecimal copy) {
		this.copy = copy;
	}

	public String getAttributeOption() {
		return attributeOption;
	}

	public void setAttributeOption(String attributeOption) {
		this.attributeOption = attributeOption;
	}

	public String getQuoteSelfDefineParam() {
		return quoteSelfDefineParam;
	}

	public void setQuoteSelfDefineParam(String quoteSelfDefineParam) {
		this.quoteSelfDefineParam = quoteSelfDefineParam;
	}

	public String getCutModel() {
		return cutModel;
	}

	public void setCutModel(String cutModel) {
		this.cutModel = cutModel;
	}

	/**
	 扩展属性用于展示部件
	 */
	@TableField(exist = false)
	@ApiModelProperty(hidden = true)
	private List<ProductInfoParam> productInfoParamList;

	public List<ProductInfoParam> getProductInfoParamList() {
		return productInfoParamList;
	}

	public void setProductInfoParamList(List<ProductInfoParam> productInfoParamList) {
		this.productInfoParamList = productInfoParamList;
	}

	//长度
	@TableField(exist = false)
	private BigDecimal length;
	//宽度
	@TableField(exist = false)
	private BigDecimal width;

	//按周长还是面积
	@TableField(exist = false)
	private Integer pricingManner;

	//展示给前台属性
	@TableField(exist = false)
	private String  showAddon;

	//按周长还是面积
	@TableField(exist = false)
	private BigDecimal pmtGoods;

	@TableField(exist = false)
	private List<UserAccessoryEntity> userAccessoryEntitieList;

	public BigDecimal getLength() {
		return length;
	}

	public void setLength(BigDecimal length) {
		this.length = length;
	}

	public BigDecimal getWidth() {
		return width;
	}

	public void setWidth(BigDecimal width) {
		this.width = width;
	}

	public Integer getPricingManner() {
		return pricingManner;
	}

	public void setPricingManner(Integer pricingManner) {
		this.pricingManner = pricingManner;
	}

	public String getItemRemark() {
		return itemRemark;
	}

	public void setItemRemark(String itemRemark) {
		this.itemRemark = itemRemark;
	}

	public BigDecimal getPmtGoods() {
		return pmtGoods;
	}

	public void setPmtGoods(BigDecimal pmtGoods) {
		this.pmtGoods = pmtGoods;
	}

	public List<UserAccessoryEntity> getUserAccessoryEntitieList() {
		return userAccessoryEntitieList;
	}

	public void setUserAccessoryEntitieList(List<UserAccessoryEntity> userAccessoryEntitieList) {
		this.userAccessoryEntitieList = userAccessoryEntitieList;
	}

	public String getShowAddon() {
		return showAddon;
	}

	public void setShowAddon(String showAddon) {
		this.showAddon = showAddon;
	}
}
